home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / fdimg / oh!.2hd / OH!DEN_B.LZH / TOOLS / CDC / CDCSRC.LZH / SCSIC.S < prev    next >
Text File  |  1995-03-20  |  2KB  |  146 lines

  1.     .globl _scsi_cmd
  2. _scsi_cmd:
  3.     link a6,#-4
  4.     move.w    #1,_ScscUse
  5.  
  6.     move.l    d7,-(sp)
  7.  
  8.     moveq    #$1f,d1        *target常駐チェック
  9.     moveq    #_SCSIDRV,d0
  10.     trap    #15
  11.     move.l    d0,d7
  12.     cmpi.w    #-2,d7
  13.     bne    @f
  14.     move.w    sr,-(sp)
  15.     DI
  16. @@:
  17.     movem.l    a1/d3-d6,-(sp)
  18.  
  19. *    move.l    _SCSI_ROMB(pc),a1    *アービトレーションのつもりだったが・・・
  20. *@@:    move.b    $B(a1),d3
  21. *    andi.b    #$07,d3
  22. *    bne    @b
  23.  
  24.  
  25.     move.w    _SCSI_ID,d4
  26.     SCSI    _S_SELECT
  27.     tst.l d0
  28.     jbeq _scm2
  29.     moveq.l #-4,d0
  30.     jbra _scm1
  31. _scm2:
  32.     movea.l 12(a6),a1
  33.     move.l 8(a6),d3
  34.     SCSI    _S_CMDOUT
  35.     tst.l d0
  36.     jbeq _scm3
  37.     moveq.l #-3,d0
  38.     jbra _scm1
  39. _scm3:
  40.     move.l 16(a6),d3
  41.     tst.l d3
  42.     jbeq _scm4
  43.  
  44.     movea.l    20(a6),a1
  45.     move.l    16(a6),d3
  46.     SCSI    _S_DATAIN_P
  47.     tst.l d0
  48.     jbne _scm5
  49.     lea    -1(a6),a1
  50.     SCSI    _S_STSIN
  51.     tst.l    d0
  52.     jbne    _scm17
  53.     lea    -3(a6),a1
  54.     SCSI    _S_MSGIN
  55.     tst.l d0
  56.     jbeq _scm21
  57.     jbra _scm18
  58. _scm5:
  59.     tst.l d0
  60.     jblt _scm1
  61.     lea    -1(a6),a1
  62.     SCSI    _S_STSIN
  63.     tst.l d0
  64.     jbne _scm17
  65.     lea    -3(a6),a1
  66.     SCSI    _S_MSGIN
  67.     tst.l    d0
  68.     jbeq    _scm21
  69.     jbra    _scm18
  70. _scm4:
  71.     lea    -1(a6),a1
  72.     SCSI    _S_STSIN
  73.     tst.l    d0
  74.     jbne    _scm17
  75.     lea    -3(a6),a1
  76.     SCSI    _S_MSGIN
  77.     tst.l    d0
  78.     jbne    _scm18
  79. _scm21:
  80.     moveq.l    #0,d0
  81.     move.b    -3(a6),d0
  82.     asl.l    #8,d0
  83.     moveq.l    #0,d1
  84.     move.b    -1(a6),d1
  85.     add.l    d1,d0
  86.     jbra    _scm1
  87. _scm18:
  88.     moveq.l    #-1,d0
  89.     jbra    _scm1
  90. _scm17:
  91.     moveq.l    #-2,d0
  92. _scm1:
  93.     movem.l (sp)+,a1/d3-d6
  94.     cmpi.w    #-2,d7
  95.     bne    @f
  96.     move.w    (sp)+,sr        *(EI)
  97. @@:    move.l (sp)+,d7
  98.     clr.w    _ScscUse
  99.     unlk a6
  100.     rts
  101.  
  102.  
  103.     .globl    _scsi_testunit
  104. _scsi_testunit:
  105.     link a6,#0
  106.     movem.l d3/d4,-(sp)
  107.     move.l    8(a6),d4
  108.     SCSI    _S_TESTUNIT
  109.     movem.l (sp)+,d3/d4
  110.     unlk    a6
  111.     rts
  112.  
  113.     .globl    _scsi_inquiry
  114. _scsi_inquiry:
  115.     movem.l    d3-d4,-(a7)
  116.     move.l    $000c(a7),d3
  117.     move.l    $0010(a7),d4
  118.     movea.l    $0014(a7),a1
  119.     moveq.l    #$f5,d0
  120.     moveq.l    #$20,d1
  121.     trap    #15
  122.     movem.l    (a7)+,d3-d4
  123.     rts
  124.  
  125.     .globl    _scsi_rezerounit
  126. _scsi_rezerounit:
  127.     move.l d4,-(sp)
  128.     move.l    8(sp),d4
  129.     SCSI    _S_REZEROUNIT
  130.     move.l (sp)+,d4
  131.     rts
  132.  
  133.     .globl    _cdd_ioctrl
  134. _cdd_ioctrl:
  135.     move.l    4(sp),d0    *com
  136.     move.l    8(sp),d1    *buf
  137.     move.l    d1,-(sp)    *buf
  138.     move.w    d0,-(sp)    *com
  139.     move.w    _CddDrvNo,-(sp)
  140.     move.w    #13,-(sp)
  141.     DOS    _IOCTRL
  142.     lea    10(sp),sp
  143.     rts
  144.  
  145.  
  146.